Method and apparatus for controlling video/audio and channel selection for a communication signal based on textual information indicative of channel contents of a signal

ABSTRACT

A signal processing unit is provided with one or more analyzing units to analyze textual information decoded from a number of channels of a communication signal to determine if channel contents of the channels are among channel contents defined by selection data. The signal processing unit is further provided with an arbitrating unit for arbitrating display and/or recording resource contentions among channels having channel contents defined by the selection data. The signal processing unit is suitable for incorporation in a stand-alone as well as a client computer system.

This is a continuation/divisional of application Ser. No. 08/338,429,filed Nov. 14 1994 now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the field of communications technology.More specifically, the present invention relates to controlling andselecting communication signals based on the textual contents of thesignal.

2. Description of Related Art

Current users of audio/video systems can view a broad spectrum ofinformation including news broadcasts, sports events, etc. on atelevision set (TV). The same information shown on a TV can be recordedin a video cassette recorder (VCR) by the user. In most traditionaltelevisions, the user can only watch one channel at a time, while in themore advanced picture-in-picture (PIP) televisions, the user cansimultaneously watch two channels. In most of these traditional TVs, theuser is typically limited to manually selecting channels and adjustingthe audio volume associated with a channel. Even in the PIP television,the user still is limited to watching and listening to one channelsimultaneously.

To record a program in a VCR, the user is limited to eitherpreprogramming the VCR to record a program using a time stamp to recordthe entire program without regards to the contents of the program, ormanually setting record buttons on the VCR to record a program currentlybeing watched by the user.

The proliferation of multimedia technology has enabled the incorporationof current TV technology into personal computers (PC) that allow the PCuser to receive and display TV signals. The multimedia PC could also beused to record TV signals. However, despite the new uses of TVtechnology, PC users who use their PCs as TV units still encounter thelimitations imposed by traditional TVs (i.e., limited displays andsequentially viewing programs).

Furthermore, indiscriminately recording a program in a PC requiresadditional storage space especially if programs are recorded withoutregard to the contents of the program. The additional requirement forextra storage space for recording TV programs in these multimedia PCscan be very expensive. Thus, it would be beneficial to efficientlyutilize storage space needed to record a program being received by thePC.

To take advantage of the available audio/video technologies in amultimedia environment and permit monitoring multiple channelssimultaneously and being able to discern information carried by eachchannel being monitored, a system is needed that will allow the user tocapture and automatically display or record an video/audio signal basedon the textual contents of the multiple channels.

SUMMARY OF THE INVENTION

A signal processing unit is provided with one or more analyzing units toanalyze textual information decoded from a number of channels of acommunication signal to determine if channel contents of the channelsare among channel contents defined by selection data. The signalprocessing unit is further provided with an arbitrating unit forarbitrating display and/or recording resource contentions among channelshaving channel contents defined by selection data.

In one embodiment, the signal processing unit further includes one ormore tuners for tuning to the channels of the communication signal, andone or more decoders for decoding textual information included in thechannels.

In one embodiment, the signal processing unit is provided to astand-alone computer system. In another embodiment, the signalprocessing unit is provided to a networked client computer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an overview of a computer systemutilized by one embodiment of the preferred embodiment.

FIG. 2 is a block diagram illustrating one embodiment of the signalprocessing system for controlling and selecting audio/video signal inthe preferred embodiment.

FIG. 3 is a block diagram illustrating one embodiment of informationstored in the profile unit.

FIG. 4 is an exemplary flow chart illustrating the method of arbitrationutilized by one embodiment of the arbitration unit.

FIG. 5 is a block diagram illustrating an exemplary local area networkimplementation of the signal processing system of one embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIGS. 1 through 5 of the drawings disclose various embodiments of thepresent invention for purposes of illustration only. One skilled in theart will readily recognize from the following discussion thatalternative embodiments of the structures and methods illustrated hereinmay be employed without departing from the principles of the invention.

Overview of the Computer System

Referring to FIG. 1, a block diagram illustrating a computer system asmay be utilized by the preferred embodiment of the present invention isshown. The computer system 100 is a multimedia computer generallycomprising a bus 101 for communicating information, a processor 102coupled to the bus 101 for processing data and instructions, a mainmemory 103 coupled to the bus 101 for storing data and instructions forthe processor 102 and other devices coupled to the bus 101, a signalprocessing and selection unit (SPSU) 104 coupled to the bus 101 formonitoring and selecting audio/video signals received by the computersystem 100 from a signal broadcast source 110 such as a televisionantenna. Although the SPSU 104 is illustrated in a computer system, theSPSU 104 of the preferred embodiment may be embodied in a conventionaltelevision set or a video cassette recorder which includes components,such as the processor 102 and the main memory 103.

The computer system also comprises a display device 105 coupled to thebus 101 for displaying information to the computer user. The displaydevice 105, which may be a conventional personal computer monitor,displays a plurality of digital images at any given time in multipledisplay windows in Windows™ or any other display application program.The computer system also comprises an alphanumeric input device 106 forcommunicating information and command selections to the processor 102, acursor control device 107 also coupled to the bus 101 to allow thecomputer user to dynamically signal the two dimensional movement of avisible symbol on the display screen of the display device 105, and arecording unit 108 coupled to the bus 101 for optionally recording anaudio/video signal received in the computer system 100 from a broadcastsource 110.

FIG. 2 illustrates an exemplary SPSU 104 comprising a plurality oftuning units 200 for receiving audio and video signals (televisionsignals) and monitoring the available video signals for subsequentdisplay/record in a display/record unit. Each of a plurality of bufferunits 210 is coupled to each of the tuning units 200 for temporarilystoring the television signals supplied by the tuning units 200 to thedisplay/record unit. The display/record unit is utilized to display orrecord the television signals received by the SPSU 104. For example, thedisplay/record unit shown in FIG. 2 may be a multimedia personalcomputer with multiple display windows, a television set screen capableof displaying multiple pictures, or a video cassette recorder.

The SPSU 104 further comprises a plurality of decoding units 240 coupledto the tuning units 200 via signal lines 205. The decoding unit 240receives video signals from the tuning unit and converts (decodes) thesignals into text streams. From the decoding units 240 decoded signals245 are provided to a plurality of analyzing units 250. Responsive tothe decoded signals 245 and predefined profile information, theanalyzing units 250 determine whether the video signals being monitoredby the tuning units 200 include predefined items of interest to theuser. The analyzing units 250 are coupled to a profile unit 260 vialines 265. The profile unit 260 stores profile information that includesa prioritized list of predefined channels and text captions that specifyitems of interest to be monitored by the tuning units 200 and thedecoding units 240.

The analyzing units 250 are also coupled to an arbitrating unit 270 vialines 255. The arbitrating unit 270 resolves display contentions betweenone or more analyzing units contending for the display/record unit whenone or more predetermined items of interest are detected by the decodingunits 240 and the analyzing units 250. From the arbitrating unit 270selected signals 275 are provided to the display/record unit to displayor record based on the user's profile information stored in the profileunit 260.

As an example of how SPSU 104 operates, the tuning units 200 receivevideo signals in a broadcast signal from a transmission source such as atelevision broadcasting station. The tuning unit 200 selects one channelout of several being broadcast and received by the preferred embodimentfor display/record on the display/record unit. The tuning unit 200 alsomonitors the television signal being received by the preferredembodiment. After receiving the broadcast television signals, the tuningunit 200 generates output signals to the buffer 210 for temporarystorage for the display/record unit and to the decoding unit 240 to bedecoded.

The decoding unit 240 receives the monitored video signals from thetuning unit 200 and decodes (converts) the video signal into textindicative of the contents of the signals received by each channel beingmonitored. Decoding video signal is well known in the art and will notbe discussed in detail. For example, many traditional televisionsprovide programs that are closed-captioned for the hearing impaired. Theinformation transmitted to a closed-captioned television-accordingfederal standards (USFCC regulations 47 C.F.R 73.682(a)(22))-is decodedinto ASCII text by a decoder in the closed-captioned television anddisplayed on the television screen. Another method of decoding is usingthe vertical blank interval of a transmitted television signal or speechto text conversion devices, both of which are well known in the art andwill not be described in detail.

The decoded text information is supplied to the analyzing units 250which determine whether a channel being monitored contains informationof interest to the user. The analyzing unit 250 uses a user specifiedpredefined list of data including "triggers" and items of channelsstored in the profile unit 260 and the decoding text from the decodingunit 240 to determine which channels to display to the user. Forexample, the user may define a list of text of interest, such asmonitoring the business channel so that anytime the word "Intel" isdetected, the channel automatically pre-empts the current channel beingdisplayed. The list of data stored in the profile unit 260 isprioritized so that the user is not overwhelmed with various channelswith predefined items of interest for the user to watch at the sametime. Particularly, the arbitrating unit 270 includes logic to determinewhich one channel to display on the display/record unit at anyparticular time. The arbitration logic is described in detail withreference to FIG. 4.

FIG. 3 is a block diagram illustrating an example of profile data in oneembodiment of the profile unit 260. The profile unit comprises apriority storage location that stores priority data programmed by theuser to prioritize each channel been monitored. When the priority datais set, channels with a high priority will always pre-empt channels witha lower priority in the display/record unit.

The profile unit 260 also includes a channel storage location forstoring preprogrammed channel selections to be monitored by thepreferred embodiment. The channel storage location is programmed usingconventional channel programming methods known in the art. For example,if a particular user receives only a handful of channels, the user canprogram the channel storage locations of the profile unit with availablechannels received by the SPSU 104. Channel reception and representationmay differ from one location to the other. For example, the musictelevision channel may be represented as channel 11 in one location, andas channel 20 in another. The profile unit 260 of the preferredembodiment allows the user the flexibility to reprogram channelselections in the channel storage location.

The profile unit 260 further includes a trigger storage location andaction storage location, for storing items of interest corresponding toeach pre-programmed channel and the particular action to take once thetrigger item is detected. The user programs specifies items of interestthat are monitored by the analyzing unit 250 for each channel. Once theanalyzing unit 250 detects the trigger text, the analyzing unit 250reads the action storage location to determine what action to take. Theaction taken by the analyzing unit 250 depends on the priority of thecurrent channel in the display unit and the contents of the actionlocation corresponding to the channel being monitored. For example, theuser may program channel 44, which happens to be a business news channel(e.g. CNBC), with a priority of one and the trigger text as "Intelstock". With a priority of one, anytime the captioned text "Intel stock"is detected in the video signal for channel 44 by the analyzing unit250, channel 44 pre-empts any channel currently being displayed in thedisplay/record unit. The user can switch to a pre-empted channel afterreceiving the information in the preempting channel, or choose todisplay the preempting channel (i.e. channel 44). Note that in thepreferred embodiment, preempting a channel and the subsequent actiontaken by the analyzing unit 250 is automatic and predefined.

In the preferred embodiment, the user can reprogram the contents of theprofile unit 260. That is, the user can change the channel information,the priority numbers of the channels being monitored, or the triggeringtext for each channel being monitored as well as the action to take oncea trigger item is detected.

Reference is now made to FIG. 4 which is a flow chart illustrating thearbitration logic utilized by the arbitration unit of the preferredembodiment. As illustrated in FIG. 4, the arbitration logic starts atbox 400 where the arbitrating unit 270 receives selected signalsincluding the profile information from the analyzing unit 250.

At box 410, the arbitrating unit 270 receives and examines the contentsof the profile information of a selected signal responsive to eachchannel being monitored from the analyzing unit 250. The profileinformation includes the priority, channel number and the action to beperformed for each channel being monitored.

At box 420, the arbitrating unit 270 examines the selected signal todetermine whether the priority information responsive to a channelinformation included in the selected signal is higher than a channelbeing displayed or recorded. If the priority of the selected signal ishigher, processing continues at box 440; other processing continues atbox 430 where the current arbitration process ends.

At box 440, if the priority of the selected signal is higher than thecurrently displayed channel, the arbitrating unit 270 instructs thedisplay window to take action on the selected television signal topreempt a currently displayed window of a lower priority. For example,if the display unit has three channels with a priority of one, two andfour being displayed, and the notified channel has a priority of three,the channel with a priority of four will be pre-empted. The samepreemption logic applies if multiple channels are being recorded.

At box 450, once the arbitrating unit 270 has determined that a selectedtelevision signal supersedes a current displayed signal, the arbitratingunit 270 generates a notification signal to the pre-empted display tomove to a different window if possible at box 410.

Reference is now made to FIG. 5 which illustrates an exemplary localarea network (LAN) implementation of the preferred embodiment. Asillustrated in FIG. 5, a client computer system 590 is coupled to anetwork server 550 via a local area network 599. The server 550comprises a video signal converter 530 for converting video signalsreceived by the server from a video transmission source such as atelevision broadcast station. The server 550 further comprises aplurality of server decoders 520 for decoding television signal receivedby the network server, a plurality of tuners 510 for receiving thetelevision signal from a broadcast source, and a server LAN interface540 for transmitting decoded television signal to the network. Thecomputer system 590 comprises a client LAN interface 580 for interfacingthe client "computer 590 to the network, a plurality of buffers 210 fortemporarily storing decoded television signal received by the clientcomputer 590, a profile unit 260, a plurality of analyzing units 250 formonitoring and selecting one or more channels of the television signalto be displayed in the client computer 590, an arbitrating unit 270 forarbitrating resource contentions among the analyzing units 250, and anoutput driver 560. In an alternate embodiment, one or more of theanalyzing units 2502 profile unit 260, arbitrating unit 270, and buffers210 may be included in the server computer 550."

As illustrated in FIG. 5, the server 550 converts (decodes) a videosignal in a receiving channel into a decoded digital format, and sendsthe converted signal over the LAN 599 to the receiving client computer590. The server 550 further sends textual information indicative of thevideo signal received by the server 550 to the client computer system590.

The video signal converter 530 receives a video signal from the tuner510 responsive to a channel from an input signal line 513. The videosignal converter 530 subsequently converts the video signal into adigital signal and transmits the converted signal to the server LANinterface 540.

The LAN interface 540 receives the textual output from the serverdecoder 520 and the digital signal from the video signal converter 530and transmits the decoded digital signal to the LAN 599. The protocolused by the LAN 599 is well known in the art and is not described indetail.

The interface between the client LAN interface 580 and the server LANinterface 540 is such that the client LAN interface 580 receives theassembled data from the server LAN interface 540 over the LAN 599, anddisassembles the textual output and the corresponding digital signalresponsive to each channel. The client LAN interface 580 "sends thedigital signal to the buffers 210 for storage for a predetermined periodof time, and the textual output to the analyzing units 250.

The analyzing units 250 analyze the textual output from the client LANinterface 580, and compare it to profile information stored in profileunit 260 to determine whether a predefined pattern of interest ispresent. If a predefined pattern is present, the analyzing units 250signal the arbitrating unit 270 of the detection, indicating theparticular channel of the digital signal stored in buffers 210 to whichthe respective predefined pattern corresponds. The arbitrating unit 270sends control signals indicative of user commands to output driver 560.The control signals control channel selection for the client computer,selecting from the channels of the digital signal stored in buffers 210.

The output driver 560 receives the control signals from the arbitratingunit 270, and, in response to the control signals outputs the respectivetelevision channel or channels stored in buffers 210. The controlsignals may indicate a number of predefined user actions stored asprofile information in profile unit 260. For instance, in addition tochannel selection the control signals can include turning on and off adisplay window and adjusting audio volume in the client computer'sdisplay window in the client computer system 590."

Thus a method and apparatus for arbitrating between channels in acommunication signal based on the textual contents of the signal hasbeen described. From the above description, it will be apparent that theinvention disclosed herein provides a novel and advantageouscommunication system. The foregoing discussion discloses and describesexemplary methods and embodiments of the present invention. As will beunderstood by those familiar with the art, the invention may be embodiedin other specific forms without departing from its spirit or essentialcharacteristics, and thus, the described embodiment is not restrictiveof the scope of the invention. The following claims are indicative ofthe scope of the invention. All variations which come within the meaningand range of equivalency of the claims are to be embraced within theirscope.

What is claimed is:
 1. An apparatus for controlling selective displayand/or recording of selected ones of a plurality of channels of acommunication signal, the apparatus comprising:(a) one or more analyzingunits for receiving textual information indicative of channel contentsof said channels decoded from said communication signal, and responsivethereto, analyzing said received textual information to determine ifchannel contents of said channels are among channel contents defined byselection data; and (b) an arbitrating unit coupled to said one or moreanalyzing units to arbitrate display and/or record resource contentionsamong said analyzing units determining said channels having channelcontents that are defined by said selection data.
 2. The apparatus ofclaim 1 wherein said arbitrating unit includes an arbitration logicroutine for arbitrating said display and/or record resource contentions,in accordance with predefined priority information of said selectiondata.
 3. The apparatus of claim 1 wherein the apparatus further includesone or more decoding units coupled to said one or more analyzing unitsfor providing said textual information of said channels to saidanalyzing units, said one or more decoding units receiving said channelsof said communication signal, and in response decoding said channels fortextual information included in said channels.
 4. The apparatus of claim3, wherein the apparatus further includes one or more signal tuningunits coupled to said one or more decoding units for providing said oneor more decoding units with said channels, by tuning to said channels ofsaid communication signal.
 5. The apparatus of claim 4, furthercomprising one or more buffers coupled to said one or more tuning unitsfor storing portions of the contents of said channels of saidcommunication signal for a predetermined duration of time.
 6. Theapparatus of claim 1 wherein the contents of said channels includeaudio/video contents, and said selection data include predefinedpriority of said audio/video contents.
 7. The apparatus of claim 1wherein said selection data include predefined keywords and prioritiesof selected ones of said channels.
 8. The apparatus of claim 1, whereinsaid arbitrating unit automatically causes a display window fordisplaying the channel contents of a successful one of said arbitratingchannels to be activated, amplification of audio signals associated withthe activated display window to be adjusted, and/or channel contents ofsaid successful one of said arbitrating channels to be recorded.
 9. Theapparatus of claim 1, wherein the apparatus further includes a profileunit coupled to said one or more analyzing units for providing said oneor more analyzing units with said selection data.
 10. The apparatus ofclaim 9, wherein said profile unit has a first state in which portionsof said selection data are added to storage locations of said profileunit, and a second state in which portions of said selection data aredeleted from storage locations of said profile unit.
 11. A computersystem having a bus for communicating information, and a signalprocessing unit coupled to said bus for processing a signal having aplurality of channels, said signal processing unit comprising:(a) one ormore analyzers to receive textual information indicative of channelcontents of said channels decoded from said signal, and responsivethereto, to analyze said received textual information to determine ifchannel contents of said channels are among channel contents defined byselection data; and (b) an arbitration unit coupled to said one or moreanalyzers to arbitrate display and/or record resource contentions amongsaid analyzers determining said channels having channel contents thatare defined by said selection data.
 12. The computer system of claim 11further comprising a display unit including a plurality of displaywindows for displaying channel contents of successful ones of saidarbitrating channels.
 13. The computer system of claim 11 wherein saidselection data include priorities of selected ones of said channels. 14.The computer system of claim 11, wherein the computer system furtherincludes a profile unit coupled to said one or more analyzers forproviding said one or more analyzers with said selection data.
 15. Thecomputer system of claim 14, wherein said profile unit includes a firstand a second portion, and wherein said first portion is defined to storeinformation about selected ones of said channels, and said secondportion is defined to store information about successful ones of saidarbitrating channels.
 16. The computer system of claim 15 wherein saidprofile unit has a first state in which portions of said selection dataare added to storage locations of said profile unit, and a second statein which portions of said selection data are deleted from storagelocations of said profile unit.
 17. The computer system of claim 11wherein said arbitration unit automatically causes a display window tobe activated for displaying channel contents of a successful one of saidarbitrating channels, amplification of audio signals associated withsaid display window to be adjusted, and/or channel contents of asuccessful one of said arbitrating channels to be recorded.
 18. Thecomputer system of claim 11 further comprising one or more recorders forrecording channel contents of successful ones of said arbitratingchannels.
 19. The computer system of claim 11, wherein the computersystem further includes one more decoders coupled to said one or moreanalyzers for providing said textual information of said channels tosaid one or more analyzers, said one or more decoders receiving saidchannels of said signal, and in response decoding said channels fortextual information included in said channels.
 20. The computer systemof claim 19, wherein the computer system further includes one or moretuners coupled to said one or more decoders for providing said one ormore decoders with said channels, by tuning to said channels of saidsignal.
 21. A communication network system comprising:(a) acommunication network interface to communicate in said communicationnetwork system; (b) a communication network server coupled to saidcommunication network interface to receive a signal having a pluralityof channels; said communication network server to generate a stream ofdecoded texts indicative of channel contents of said channels,responsive to said channels; and (c) a client computer system coupled tosaid communication network interface to receive said channels and saiddecoded texts from said network server, to analyze said received decodedtexts to determine if channel contents of said channels are amongchannel contents defined by selection data, and to arbitrate displayand/or record resource contentions among analyzed channels with channelcontents that are defined by the selection data.
 22. The communicationnetwork system of claim 17 wherein said communication network servercomprises:(b.1) one or more tuners to tune to said channels; (b.2) oneor more decoders coupled to said one or more tuners to receive saidchannels, and to generate said decoded texts indicative of channelcontents of said channels; (b.3) one or more buffers coupled to said oneor more tuners to temporarily store portions of the channel contents ofsaid channels for a predetermined duration of time; and (b.4) a serverinterface coupled to said buffers and said decoders to couple saidcommunication network server to said communication network interface.23. The communication network system of claim 21 wherein said clientcomputer system comprises:(c.1) an analyzer coupled to saidcommunication network interface to perform said analysis; and (c.2) anarbitration unit coupled to said analyzer to perform said arbitration.24. A method for controlling rendering of a signal having a plurality ofchannels, said method comprising:(a) analyzing textual informationdecoded from a signal having a plurality of channels to determinewhether channel contents of said channels are among channel contentsdefined by selection data; and (b) arbitrating display and/or recordresource contentions among said analyzed channels having channelcontents defined by said selection data.
 25. The method of claim 24wherein (a) includes tuning to said channels to receive said channels,and decoding textual information included with said channels.
 26. Themethod of claim 24 wherein (a) includes pre-defining said selection dataemployed in said analyzing step.